<?php

Class Exemplar{
	
	public $cdExemplar;
	public $nmExemplar;
	public $cdItem;
	public $cdPlataforma;
	public $nmPlataforma;
	public $cdCategoria;
	public $dsCategoria;
	public $cdWishlist;
	public $cdProposta;
	public $cdUsuario;
	public $nmUsuario;
	
	function __construct($mDb, $cdExemplar, $nmExemplar, $cdItem, $cdPlataforma, $cdWishlist, $cdProposta, $cdUsuario){
		
		
		if ($cdExemplar <> 0){
			
			$result = $mDb->query("SELECT * FROM exemplar
									  WHERE exemplar.cd_exemplar = '$cdExemplar';",
									  PDO::FETCH_ASSOC);
		
			if ($result->rowCount() > 0) {
				while($exemplar = $result->fetch()){		
					$nmExemplar = "";
					$cdItem = $exemplar['cd_item'];
					$cdUsuario = $exemplar['cd_usuario'];
					$cdPlataforma = $exemplar['cd_plataforma'];
					$cdProposta = $exemplar['cd_proposta'];
				}
			}			
		}	
		
		if ($cdItem <> 0 && $nmExemplar == '') {
	
			$nmExemplar = "Indefinido";
			$dsCategoria = "Indefinido";
			$cdCategoria = 0;
			
			$result = $mDb->query("SELECT * FROM item,
												 categoria
									  WHERE item.cd_item = '$cdItem'
										AND categoria.cd_categoria = item.cd_categoria;",
									  PDO::FETCH_ASSOC);
		
			if ($result->rowCount() > 0) {
				while($item = $result->fetch()){		
					$nmExemplar = $item['nm_item'];
					$dsCategoria = $item['ds_categoria'];
					$cdCategoria = $item['cd_categoria'];
				}
			}
		}
	
		$nmUsuario = "Indefinido";
		if ($cdUsuario <> 0) {
			$result = $mDb->query("SELECT usu.nm_usuario,
										  usu.ds_login,
										  usu.cd_usuario
									FROM usuario usu
							  WHERE usu.cd_usuario = '$cdUsuario'",
									PDO::FETCH_ASSOC);
									
			if ($result->rowCount() > 0) {
				while($usuario = $result->fetch()){	
					$nmUsuario = $usuario['nm_usuario']; // Mudar para Login, futuramente. Fica menos Formal e mantem anonimato
				}
			}
		}
		
		$nmPlataforma = "Indefinida";
		if ($cdPlataforma <> 0) {
			$result = $mDb->query("SELECT * FROM `plataforma`
									  WHERE `plataforma`.`cd_plataforma` = '$cdPlataforma';",
									  PDO::FETCH_ASSOC);
		
			if ($result->rowCount() > 0) {
				while($plataforma = $result->fetch()){		
					$nmPlataforma = $plataforma['ds_plataforma'];
				}
			} 
		}
		
		/*
		if ($exemplar['cd_proposta'] <> 0) {
				//Encontra se é proposta sua
				$result2 = $db->query("SELECT * FROM usuario_proposta
										WHERE `cd_proposta` = '".$exemplar['cd_proposta'] . "'",
										PDO::FETCH_ASSOC);
				while($usuario_proposta = $result2->fetch()){
					//Se estiver em proposta que não é sua, ignora
					if ($idUsuario != $usuario_proposta['cd_usuario'] &&
						$idUsuario != $usuario_proposta['cd_usu_proposta']){
						continue;
					} else {
						$flgProposta = "**";
					}
				}
				
				$result2->closeCursor();
			}
		Lunelli, ajustar */
		
		$this->cdExemplar = $cdExemplar;
		$this->nmExemplar = $nmExemplar;
		$this->cdItem = $cdItem;
		$this->cdPlataforma = $cdPlataforma;
		$this->nmPlataforma = $nmPlataforma;
		$this->cdCategoria = $cdCategoria;
		$this->dsCategoria = $dsCategoria;
		$this->cdWishlist = $cdWishlist;
		$this->cdProposta = $cdProposta;
		$this->cdUsuario = $cdUsuario;
		$this->nmUsuario = $nmUsuario;
			
	}
		
	function insereExemplar($mDb){	
	
		try{
			$mDb->exec('INSERT INTO `exemplar`
						(`cd_item`, 
						 `cd_plataforma`,
						 `cd_wishlist`,
						 `cd_proposta`,
						 `cd_usuario`)'
				.'VALUES (\''.$this->cdItem.'\',
						  \''.$this->cdPlataforma.'\',
						  \''.$this->cdWishlist.'\',
						  \''.$this->cdProposta.'\',
						  \''.$this->cdUsuario.'\');'
						  );
						  
		} catch(Exception $e) {
			echo $e->getMessage();
		}
	}

	function removeExemplar($mDb){	
	
		try{
			$linhasAfetadas = $mDb->exec('DELETE FROM `exemplar`'.
									     ' WHERE cd_exemplar='.$this->cdExemplar.
									     ' AND 1 NOT IN '.
									     '(SELECT DISTINCT 1 FROM exemplar_proposta WHERE cd_exemplar_dono = '.$this->cdExemplar.' or cd_exemplar_interessado = '.$this->cdExemplar.');');
										 
			if ($linhasAfetadas == 0){
				return "Certifique-se de que o exemplar que deseja remover não esteja em nenhuma proposta!";				
			}else{
				return "Exemplar Removido!";
			}
			
		} catch(Exception $e) {
			echo $e->getMessage();
		}
	}

}

?>